package com.zenithmind.mall.pojo.query;

import com.zenithmind.common.query.BaseQuery;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDateTime;

/**
 * 商品评价查询条件
 * 
 * @author ZenithMind Team
 * @since 2025-06-09
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class ProductReviewQuery extends BaseQuery {

    /**
     * 用户ID
     */
    private String userId;

    /**
     * 商品ID
     */
    private String productId;

    /**
     * 订单ID
     */
    private String orderId;

    /**
     * 评分（1-5星）
     */
    private Integer rating;

    /**
     * 最低评分
     */
    private Integer minRating;

    /**
     * 最高评分
     */
    private Integer maxRating;

    /**
     * 是否匿名（0-否，1-是）
     */
    private Integer isAnonymous;

    /**
     * 状态（0-待审核，1-已通过，2-已拒绝）
     */
    private Integer status;

    /**
     * 是否有图片
     */
    private Boolean hasImages;

    /**
     * 是否有商家回复
     */
    private Boolean hasMerchantReply;

    /**
     * 关键词搜索（搜索评价内容）
     */
    private String keyword;

    /**
     * 开始时间
     */
    private LocalDateTime startTime;

    /**
     * 结束时间
     */
    private LocalDateTime endTime;

    /**
     * 排序字段（createTime-创建时间，rating-评分，likeCount-点赞数）
     */
    private String sortField = "createTime";

    /**
     * 排序方向（asc-升序，desc-降序）
     */
    private String sortOrder = "desc";
}
